package rddSummary.transition.value_type

import org.apache.spark.{SparkConf, SparkContext}

object test_coalesce {
  def main(args: Array[String]): Unit = {

    val conf = new SparkConf().setAppName("test").setMaster("local")
    val context = new SparkContext(conf)

    val dates = context.makeRDD(List(1,2,3,4, 1, 2, 3),6)

    /**
     * 根据数据量缩减分区，用于大数据集过滤后，提高小数据集的执行效率
     * 当 spark 程序中，存在过多的小任务的时候，可以通过 coalesce 方法，收缩合并分区，减少
     * 分区的个数，减小任务调度成本
     */
    val value = dates.coalesce(2)

    value.collect().foreach(println)

    context.stop()
  }

}
